In modern computer architecture, there is a design arrangement referred to as a write-through system. This is when a computing system has the property that whenever the processor stores or modifies information in a local cache, it then immediately modifies the information in a system memory and all other caches in the system in order to maintain coherent data.
In conventional technologies, software operating on a processor issues the command to modify data in the local cache. After modification of the cache, software pushes a copy of the newly written data out to the system over a system bus, using alternate commands known as a DCBF (FLUSH) or DCBST (DCLEAN).
Generally, the DCBF/Flush is a software instruction/coherent bus operation sent to all processors in the system. Any cache holding a cache line with that address will have to invalidate that line. Also, if the data in the cache is non-coherent with memory it will be pushed out to main memory. DCBF is an instruction initiated by software. Flush is a coherent bus command. DCBF causes a Flush on the bus. DCBST/DCLEAN is a software instruction/coherent bus operation sent to all processors in the system. Any cache holding a cache line with the address referenced by the DCBST/DCLEAN that has data that is non-coherent with memory will push the data out to main memory. The cache will still hold the line valid after the data is pushed. DCBST is an instruction initiated by software. DCLEAN is a coherent bus command. DCBST causes a DCLEAN on the bus.
However, problems exist with the use of software to generate the coherency commands that are passed onto the bus (DCBF and DCBST). Employment of software uses processing cycles within the processor, which could better be directed to other projects.
Therefore, there is a need to do a write-through system-wide command without software in such a manner that addresses at least some of the problems associated with conventional system-wide write commands.